Sắp xếp và phân nhóm trên báo cáo 48 

Một phần của tài liệu Giao trinh access (Trang 48 - 60)

2. Thiết kế báo cáo 46 

2.3Sắp xếp và phân nhóm trên báo cáo 48 

Muốn dữ liệu xuất hiện trong báo cáo được sắp xếp theo một thứ tự nào đó, không nhất thiết phải sắp xếp trên truy vấn. Có thể sắp xếp ngay trên báo cáo. Để thực hiện công việc này, cần mở hộp thoại Sorting and Grouping (Có thể mở hộp thoại Sorting and Grouping bằng cách chọn View hoặc kích chuột phải). Cửa sổ Sorting and Grouping có dạng như sau:

Sau khi sắp xếp xong có thể phân nhóm dữ liệu – cũng làm việc trên hộp thoại nói trên. Nếu đặt Group Header/Footer là Yes, sẽ xuất hiện tiêu đề trên và dưới cho mỗi nhóm và do vậy có thể dùng tiêu đề, kẻđầu cột cũng như tính toán ứng với mỗi nhóm.

Có thể phân nhóm theo nhiều trường cũng như phân nhóm theo trường kết xuất. 2.4Báo cáo chính phụ

Cũng như trên form, khi tạo báo cáo với nguồn dữ liệu lấy từ nhiều bảng và phải

đảm bảo đúng khuôn dạng thực tế, người ta phải dùng báo cáo chính-phụ, ví dụ

phiếu xuất vật tư, lý lịch nhân viên, …

Cách tạo báo cáo chính – phụ cũng giống như trên Form, gồm các bước sau:

- Tạo báo cáo chính.

- Tạo báo cáo phụ như một báo cáo độc lập.

- Mởđồng thời cửa sổ thiết kế báo cáo chính và cửa sổ Database. Kéo báo cáo phụ từ cửa sổ Database vào.

- Mở thuộc tính của điều khiển Subreport trên báo cáo chính. Kiểm tra sự

kết nối dữ liệu qua các thuộc tính LinkMasterFields và LinkChildFields.

Chú ý rằng các thuộc tính LinkMasterFields và LinkChildFields còn xuất hiện cả

trong biểu đồ. (Không cần tạo báo cáo phụ dạng biểu đò mà nên dùng Insert\Chart). Do vậy có thể liên kết dữ liệu ở dạng báo cáo chính và dữ liệu ở biểu đồ trong đó. 2.5Một số ví dụ về thiết kế báo cáo

Ví dụ 1: Thiết kế báo “Thẻ ra vào”, có nội dung được trình bày như sau:

THẺ RA VÀO Số thẻ: Họ tên: Nam/nữ ẢNH Năm sinh: Đơn vị:

Để có được nguồn dữ liệu cho báo cáo, cần thiết kế truy vấn: Tìm Mã NV, Họ tên, Năm sinh, Giới tính (Nam/nữ), Tên phòng. Dữ liệu cho truy vấn này được lấy từ

bảng nhân viên và bảng Phòng.Vì thẻ ra vào được in cho từng nhân viên, có nghĩa là toàn bộ thông tin trên tờ thẻđược lặp lại với mỗi bản ghi về nhân viên nên toàn bộ

các thông tin trên thẻđều được để trong phần Detail. Thiết kế của thẻ ra vào được thể hiện như sau:

Bước 1: Mở cửa sổ thiết kế báo cáo (report)

Từ cửa sổ Database, trong phần Objects chọn Report -> Create report in

Design view - >

Bước 2: Chọn nguồn dữ liệu cho báo cáo là bảng NHANVIEN

Bước 3: Thiết kế các điều khiển trên báo cáo

Kéo rê các trường cần hiển thị trên report (các trường này lấy từ nguồn dữ liệu của report – Field List) vào cửa sổ thiết kế, sau đó hiệu chỉnh lại các nhãn (Lables) và text box để hiển thị giới tính trên report như sau:

Ví dụ 2: Tạo danh sách nhân viên toàn cơ quan nhận tiền, lý do nhận tiền và số tiền nhận nhập từ bàn phím, theo mẫu sau: (adsbygoogle = window.adsbygoogle || []).push({});

DANH SÁCH NHÂN VIÊN TOÀN CƠ QUAN NHẬN TIỀN … PHÒNG TỔ CHỨC STT HỌ TÊN SỐ TIỀN KÝ NHẬN Tổng toàn phòng …… PHÒNG TÀI VỤ STT HỌ TÊN SỐ TIỀN KÝ NHẬN Tổng toàn phòng …… ……… Tổng cộng toàn cơ quan….

Các bước thiết kế báo cáo như sau:

- Tạo nguồn dữ liệu là một truy vấn tham số gồm các thông tin: tên phòng, họ tên nhân viên, số tiền nhận (số tiền là 1 tham sốđược nhập từ bàn phím).

- Đặt con trỏ trên báo cáo, click chuột phải -> Sorting and Grouping, cửa sổ Sorting and Grouping xuất hiện, trong cửa sổ này chúng ta thiết kế như sau:

- Kéo rê các trường cần hiển thị trên report (các trường này lấy từ nguồn dữ liệu của report – Field List) vào cửa sổ thiết kế, sau đó hiệu chỉnh lại các nhãn (Lables) và thêm các các nhãn, các text box mới trên report như sau:

Chương 5 BÀI TP CSDL QUN LÝ SINH VIÊN

Tạo Database với tên QLSV.MDB Câu 1: Tạo cấu trúc các Table như sau:

a. DMKHOA (Danh mục khoa)

Field Name Data Type Field Size Format Required

MaKH Text 6 > Yes

TenKhoa Text 30 Yes

b. SINHVIEN (Sinh Viên)

Field Name Data Type Field Size Format Required

MaSV Text 6 > Yes

HoSV Text 30 Yes

TenSV Text 15 Yes

GioiTinh Yes/No Yes

NgaySinh Date/Time Short Date Yes

NoiSinh Text 50

DiaChi Text 50 Quan Text 10

MaKH Text 6 Yes

HocBong Number Long Integer

c. MONHOC (Môn học)

Field Name Data Type Field Size Format Required

MaMH Text 6 > Yes

TenMH Text 50 Yes

SoTiet Number byte Yes

d. KETQUA (Kết quả)

Field Name Data Type Field Size Format Required

MaSV Text 6 > Yes (adsbygoogle = window.adsbygoogle || []).push({});

MaMH Text 6 > Yes

Diem Number Single

Lưu ý: Các Khóa chính trong bảng là in đậm và gạch dưới

Câu 3: Nhập liệu cho các bảng như sau: (nhập bên nhánh 1 trước). Thứ tự nhập là: DMKhoa, SinhVien, MonHoc, KetQua

Table:DMKhoa MaKhoa TenKhoa AV Anh văn TH Tin Học TR Triết Học VL Vật Lý Table: SinhVien

MaSV HoSV TenSV GioiTinh NgaySinh NoiSinh DiaChi Quan MaKhoa HocBong

A01 Nguyễn thị Hải Nữ 23/02/77 Sài Gòn 12 B Võ văn Tần Q3 TH 10000 A02 Trần văn Chính Nam 24/12/77 Sài Gòn 34 Nguyễn Bỉnh Khiêm Q1 TH 120000 A03 Lê Bạch Yến Nữ 21/02/96 Hà Nội 765 PasTeur Q3 TH 140000 A04 Trần anh Tuấn Nam 20/11/77 Long An 12 Điện biên Phủ BT AV 80000 A05 Trần thanh Triều Nam 13/02/77 Hà Nội 3 Nguyện thiện thuật Q3 AV 80000

A06 Nguyễn văn Chinh Nam 31/12/75 Sài Gòn 12 lê Lợi Q5 AV B01 Trần Thanh Mai Nữ 12/08/77 Bến tre 32 Lê lai Q1 TH

B02 Trần thu Thủy Nữ 01/01/77 Sài gòn 45 Nguyễn Thái sơn BC TH B03 Lê thị Thanh Nử 01/01/75 Sài gòn 345 Nguyễn Kiệm Q1 AV

B04 Trần trọng Kim Nam 20/12/77 Sài gòn 123 Lê văn sỹ Q1 AV 120000 C01 Tào hồng Thiên Nam 01/07/78 Sài gòn 56 Hòang Diệu TB TH

C02 Hòang minh Châu Nam 03/05/76 Sài gòn 102 KỳĐồng TB AV C03 Phan quỳnh Hương Nữ 05/05/79 Sài gòn 234 Phạm văn hai GV AV

Table : MONHOC

MaMH TenMH SoTiet

01 Cơ sởDữ liệu 45 02 Trí tuệ Nhân tạo 45 03 Truyền Tin 45 04 Đồ Họa 60 05 Văn Phạm 60 06 Đàm thọai 60 07 Vật Lý Nguyên Tử 45 08 Vật Lý Địa Cầu 45

09 Triết học Đông Phương 75

10 Triết Học Tây Phương 75

Table: KETQUA

MaSV MaMH Diem

A01 01 2

A01 03 7

A02 01 5

A02 05 9 A02 06 6.5 A03 01 5 A03 03 3 A03 05 10 A04 05 4 A05 06 8 A06 01 7 B01 03 3 B01 02 6 B02 04 10 B02 01 7 B03 03 6 B04 05 3 B04 06 4

Câu 4: Thực hiện các truy vấn sau:

A- Sử dụng Select Query

1. Hiển thị danh sách sinh viên gồm các thông tin sau:Masv, HoSV, TenSV, NgaySinh, GioiTinh

2. Hiển thị danh sách sinh viên như câu 1 nhưng sắp xếp theo MaSV tăng dần 3. Hiển thị danh sách sinh viên gồm các thông tin sau: Masv, HoSV, TenSV,

NgaySinh, GioiTinh, MaKH, HocBong (sắp xếp MaKH tăng dần, MaSV giảm dần)

4. Hiển thị bảng điểm sinh viên gồm các thông tin: MaSV, HoSV, TenSV, MaMH, Diem

B- Sử dụng Select Query (Field, Sort, Show, Criteria)

1. Hiển thị danh sách sinh viên có tên là “Chính” (adsbygoogle = window.adsbygoogle || []).push({});

2. Hiển thị danh sách sinh viên có Nơi sinh là “Sài Gòn”

3. Hiển thị danh sách sinh viên có Nơi Sinh là “Hà Nội” và học Khoa “TH” 4. Hiển thị danh sách sinh viên có Họ là “Trần” và học Khoa “AV”

5. Hiển thị danh sách sinh viên có Mã số bắt đầu là B và học Khoa “AV” 6. Hiển thị danh sách sinh viên có Phái là “Nữ” và nơi sinh là “Bến tre” 7. Hiển thị danh sách sinh viên có ngàysinh>=01/01/1977

8. Hiển thị danh sách sinh viên không có Học Bổng

9. Hiển thị danh sách sinh viên có Học bổng và học Khoa “TH”

C- Sử dụng Select Query với các cột tính tóan tự tạo ra thông qua các Hàm (IIF,MONTH, YEAR,DAY,TRIM, LEFT, RIGHT)

1. Hiển thị danh sách sinh viên gồm các cột sau: MaKH, MaSV, HoSV,TenSV, Namsinh, Tuoi, sắp xếp tuổi theo thứ tụ tăng dần. Biết rằng tuổi sẽ là Năm hiện Hành – Năm Sinh

2. Hiển thị danh sách sinh viên gồm các cột sau: MaSV, HoTenSV, Phai, MaKH, TenKhoa. biết rằng HoTenSV= HoSV & TenSV

3. Hiển thị danh sách sinh viên gồm các thông tin sau: MaSV, HoTenSV, Ngaysinh, NoiSinh nhưng chỉ lọc Sinh viên sinh vào tháng 12

4. Hiển thị danh sách sinh viên gồm các thông tin sau: MaSV, HoTenSV, Ngaysinh, NoiSinh nhưng chỉ lọc Sinh viên sinh vào tháng 11 và năm 1977

5. Hiển thị danh sách sinh viên gồm các thông tin sau: MaSV, HoTenSV, HocBong, MaKhoa, TenKhoa, HocBongMoi. Biết rằng Học bổng mới = 10% +HocBong cũ

6. Hiển thị danh sách sinh viên gồm các thông tin sau: MaSV, HoTenSV,TenMH, Diem, ĐánhGia. Biết rằng nếu điểm <5 là Rớt, ngược lại là Đậu.

D- Sử dụng Select Query với dòng ToTal (nhóm dữ liệu) và các Hàm: Count, Sum, AVG, Min, Max

1. Cho biết Tổng số Sinh viên của từng Quận, thông tin gồm: Quan, TongSoSV 2. Cho biết Tổng số Sinh viên của từng Khoa thông tin gồm:MaKH, TenKhoa,

TongSoSV

3. Cho biết Học Bổng cao nhất, thấp nhất thông tin hiển thị: MaKhoa, TenKhoa,HBMax,HBMin

4. Cho biết Tổng số Sinh Viên Nam của từng Khoa là Bao nhiêu, thông tin gồm:MaKhoa, TenKhoa, TongSVNam

5. Cho biết Tổng số Sinh Viên Nữ của từng Khoa là Bao nhiêu, thông tin gồm:MaKhoa, TenKhoa, TongSVNu

6. Cho biết Độ tuổi trung bình của Sinh viên trong từng Khoa là Bao nhiêu thông tin gồm : MaKhoa, TenKhoa, TuoiTB

7. Hiển thị bảng điểm tổng hợp của sinh Viên gồm thông tin:MaSV, HoTenSV, DiemTB, TongSoMonThi. Trong đó DiemTB là điểm trung bình của các Môn thi, TongSoMonThi là tổng số các môn thi của các sinh viên.Điểm TB lấy 2 số

lẻ

8. Cho biết Tổng Sinh viên của từng Môn Học thông tin gồm: MaSV, TenMH, TongSoSV

9. Cho biết điểm thi cao nhất của môn học Cơ sở dữ liệu

E- Sử dụng Make- Table Query (truy vấn tạo Bảng)

1. Từ Bảng SinhVien hãy tạo ra 2 bảng SinhVien_TH và SinhVien_AV trong đó chứa các Sinh viên của Khoa Tin Học và Anh văn trong đó sắp xêp MASV tăng dần

2. Từ bảng SinhVien, KetQua, MonHoc sao chép thành bảng BangDiemSV gồm các thông tin: MaSv, HoTenSV, TenMH, Diem, KetQua. Trong đó Kết quả sẽ

là Đậu nếu Điểm >=5 và ngược lại là Rớt

3. Từ Bảng DMKHOA sao chép thành bảng HocBongKhoa gồm các thông tin: MaKh, TenKhoa, TongHocBong. Trong đó tổng học bổng là tổng số học bổng của sinh viên trong từng Khoa

4. Từ bảng SinhVien và KetQua sao chép thành Bảng DiemTB gồm các thông tin: MaSV, TenSV, TongDiem, TongMT, DiemTB. Trong đó Tổng điểm là tổng

điểm thi của từng sinh viên, TongMT là tổn số ôn thi của từnh Sinhviên, DiemTB là điểm trung bình của từng Sinh viên được tính bằng TongDiem/TongMT (adsbygoogle = window.adsbygoogle || []).push({});

F- Sử dụng Update Query (truy vấn cập nhật)

1. Tăng học bổng cho sinh viên Khoa Tin học mỗi sinh viên là 50000

2. Cộng thêm 0.5 điểm thi môn học Cơ sở dữ liệu cho những sinh viên có điểm thi thấp hơn 5

G- Sử dụng Append Query (truy vấn nối thêm)

1. Thêm một Khoa mới gồm thông tin : “KT”, “Kinh Tế” vào bảng DMKhoa 2. Thêm một Môn học Mới gồm thông tin MaMH= “11”, Tên môn học

H- Sử dụng Delete Query (truy vấn xóa)

1. Trong bảng SinhVien_TH xóa các sinh viên có Nơi sinh là Sài Gòn 2. Trong bảng sinhVien_AV xóa các sinh viên có năm sinh là 1977 và ở Q3

I- Sử dụng Crosstab Query (truy vấn chéo):Thống kê điểm sinh viên theo dạng sau:

MaSV Ho và Tên Cơli sệởu dữ ThĐàm ọai HĐồọa Trí tuTệạ Nhân o TruyTin ền PhVăạn m

A01 Nguyễn thị Hải 2 9 A02 Trần văn Chính 7.5 6.5 10 9 A03 Lê Bạch Yến 5 3 10 A04 Trần Anh Tuấn 4 A05 Trần Thanh Triều 8 A06 Nguyễn văn Chinh 7 J- Sử dụng Truy vấn con:

1. Cho biết danh sách các sinh viên thi môn Cơ sở dữ liệu với sốđiểm lớn nhất 2. Cho biết danh sách các sinh viên trong Khoa Tin Học có điểm thi thấp nhất Câu 5:

a) Tạo Form theo mẫu sau và cho phép nhập dữ liệu vào bảng DMKHOA:

c) Tạo Form theo mẫu sau: Form chính và Form phụ (Form chính lấy từ bảng DMKHOA, Form phụ lấy từ bảng SINHVIEN)

d) Tạo Form theo mẫu sau :đặt tên F_TimSV, đặt tên Textbox: txtMaSV

Yêu cầu:

B1-Thiết kế Query như sau:đặt tên là Q_Indiem

B2 -Thiết kế Report đặt tên là R_bangdiem lấy dữ liệu từ Query trên, mẫu Report như

B3- Thiết kế Macro đặt tên là M_Indiem cho phép mở Report trên

B4 - Ở nút In trong Form trong Properties chuyển sang tag Event chọn sự kiện On Click M_Indiem

MỤC LỤC

Chương 1  Giới thiệu HQT CSDL Access ... 2 

1.  Một số khái niệm cơ bản ... 2 

1.1  Khái niệm HQT CSDL quan hệ ... 2 

1.2  Các tính năng của HQT CSDL quan hệ ... 2 

2.  HQT CSDL Access ... 3 

2.1  Khả năng và ứng dụng của Access ... 3 

2.2  Chếđộ làm việc của Access ... 3 

2.3  Ngôn ngữđịnh nghĩa và thao tác dữ liệu... 3 

3.  Môi trường làm việc của Microsoft Access ... 3 

3.1  Khởi động Access ... 3  (adsbygoogle = window.adsbygoogle || []).push({});

3.2  Hệ thống menu chính của Access ... 4 

3.3  Các thành phần của CSDL Access ... 5 

Chương 2  Tạo lập Cơ sở dữ liệu ... 6 

1.  Tạo CSDL mới ... 6 

1.1  Tạo CSDL trống ... 6 

1.2  Tạo CSDL theo mẫu có sẵn ... 6 

2.  Mở cơ sở dữ liệu ... 6  3.  Tạo bảng ... 7  3.1  Các kiểu dữ liệu ... 7  3.2  Tạo cấu trúc bảng ... 7  4.  Ràng buộc dữ liệu khi thiết kế bảng ... 9  5.  Tạo quan hệ giữa các bảng ... 10 

Chương 3  Thiết kế truy vấn ... 15 

1.  Tổng quan về truy vấn ... 15 

2.  Các toán tử trong Access ... 15 

3.  Thiết kế truy vấn QBE ... 19 

3.1  Các bước để tạo truy vấn QBE: ... 19 

3.2  Một số truy vấn QBE ... 20 

4.  Thiết kế truy vấn SQL ... 31 

4.1  Cách mở cửa sổ thiết kế truy vấn SQL ... 31 

4.2  Cú pháp của câu lệnh SQL ... 31 

4.4  Sử dụng các hàm gộp, GROUP BY, HAVING ... 34 

4.5  Truy vấn lồng nhau ... 34 

Chương 4  Thiết kế biểu mẫu, báo cáo ... 36 

1.  Thiết kế biểu mẫu (form) ... 36 

1.1  Thiết kế biểu mẫu mới ... 36 

1.2  Thiết kế các điều khiển trên biểu mẫu ... 38 

1.3  Các thuộc tính của biểu mẫu ... 44 

1.4  Biểu mẫu chính phụ ... 44 

2.  Thiết kế báo cáo ... 46 

2.1  Tạo báo cáo mới ... 46 

2.2  Thiết kế các một số dạng báo cáo ... 47 

2.3  Sắp xếp và phân nhóm trên báo cáo ... 48 

2.4  Báo cáo chính phụ ... 49 

2.5  Một số ví dụ về thiết kế báo cáo ... 49  (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Giao trinh access (Trang 48 - 60)